package com.zksk.admin.service.product.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zksk.admin.api.domain.SysRole;
import com.zksk.admin.mapper.productEnum.ProductEnumDao;
import com.zksk.admin.service.product.ProductService;
import com.zksk.common.core.constant.UserConstants;
import com.zksk.common.core.exception.ServiceException;
import com.zksk.common.core.utils.StringUtils;
import com.zksk.mbg.admin.domain.ProductEnum;
import com.zksk.mbg.admin.mapper.ProductEnumMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * 产品 业务层处理
 *
 * @author zksk
 */
@Service
public class ProductServiceImpl extends ServiceImpl<ProductEnumMapper,ProductEnum> implements ProductService {

    @Autowired
    ProductEnumMapper productEnumMapper;
    @Autowired
    private ProductEnumDao productEnumDao;

    /**
     * 根据条件分页查询产品数据
     *
     * @param productEnum 产品数据信息
     * @return 产品数据集合信息
     */
    @Override
    public List<ProductEnum> selectProductList(ProductEnum productEnum) {
        return productEnumDao.selectProductEnumList(productEnum);
    }

    /**
     * 通过产品ID查询产品
     *
     * @param id 产品ID
     * @return 产品对象信息
     */
    @Override
    public ProductEnum selectProductById(Long id) {
        return productEnumDao.selectById(id);
    }

    /**
     * 校验产品名称是否唯一
     *
     * @param productEnum 角色信息
     * @return 结果
     */
    @Override
    public String checkProductNameUnique(ProductEnum productEnum) {
        ProductEnum info = productEnumDao.checkProductNameUnique(productEnum.getName());
        if (StringUtils.isNotNull(info))
        {
            return UserConstants.NOT_UNIQUE;
        }
        return UserConstants.UNIQUE;
    }

    /**
     * 校验产品编码是否唯一
     *
     * @param productEnum 产品信息
     * @return 结果
     */
    @Override
    public String checkProductCodeUnique(ProductEnum productEnum) {
        ProductEnum info = productEnumDao.checkProductCodeUnique(productEnum.getCode());
        if (StringUtils.isNotNull(info))
        {
            return UserConstants.NOT_UNIQUE;
        }
        return UserConstants.UNIQUE;
    }



}
